Kanzi Graphics Engine
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
KzaApplicationProperties Struct Reference

Configurable application properties. More...

#include <kza_application_interface.h>

Data Fields

kzUint memoryPoolCount
 Number of memory pools to allocate in the pooled memory manager. More...
 
kzUint memoryPoolSize
 Size of a single memory pool in bytes. More...
 
kzBool useThreadedMemoryManager
 If KZ_TRUE, the pooled memory manager is made thread-safe. More...
 
struct KzsWindowProperties windowProperties
 Configuration for the primary window of the application framework. More...
 
struct KzsSurfaceProperties surfaceProperties
 Properties for the surface of the primary window. More...
 
kzMutableString binaryNameStorage
 Dynamically allocated memory for the binary name. More...
 
kzString binaryName
 Path to either the binary config file listing all .kzb files that are loaded to project, or a path to a single .kzb file. More...
 
kzBool gridEnabled
 If KZ_TRUE, the grid is enabled by default in the preview system. More...
 
kzBool debugObjectsEnabled
 Are debug objects enabled by default in the preview system. More...
 
kzBool freeCameraEnabled
 Is free camera enabled by default in the preview system. More...
 
kzBool pickingEnabled
 Is picking enabled by default in the preview system. More...
 
kzBool transformGizmoEnabled
 Is transform gizmo enabled by default in the preview system. More...
 
kzBool boundingBoxEnabled
 Is bounding box enabled by default in the preview system. More...
 
kzBool fpsInfoEnabled
 Is FPS info enabled by default in the preview system. More...
 
kzBool logVisualizationEnabled
 If KZ_TRUE, the application log is drawn in the preview system. More...
 
kzBool lightWeightInitializationEnabled
 Is lightweight initialization enabled (no default shaders). More...
 
kzBool overdrawVisualizationEnabled
 Is overdraw visualization enabled. More...
 
kzBool animationVisualizationEnabled
 Is animation visualization enabled. More...
 
kzBool functionCallProfilingEnabled
 Is function call specific profiling enabled. More...
 
kzBool loadingTimeProfilingEnabled
 Is loading time profiling enabled. More...
 
kzBool previewSystemEnabled
 Is the preview system enabled by default. More...
 
kzBool extensionOutputEnabled
 Is the list of graphics related extensions printed when launching the application, useful for debugging which extensions are supported by platform. More...
 
struct KzaApplicationFPSConstraints fpsConstraints
 Timer controller for application. More...
 
kzUint loadingThreadCount
 Loader thread count for resources, default 0 (loads everything in main thread). More...
 
kzUint loadingThreadsMemoryManagerSize
 Memory manager size for loading threads, needs to be large enough as the loader thread's hold the loaded resources. More...
 
kzUint maxPendingResources
 The maximum number of resources that can be processed by the loading threads at the same time. More...
 
kzBool useMemoryMappedLoading
 Use memory mapping when loading KZB files. More...
 
kzBool useShaderCaching
 Try to load shaders from cache and save compiled shaders to cache. More...
 
kzString shaderCacheDirectory
 Directory to use for shader-cache, path can be relative or absolute. More...
 
kzMutableString shaderCacheDirectoryStorage
 Dynamically allocated memory for the cache-directory. More...
 
kzUint defaultDisplayIndex
 Index of the display that full screen windows will be created on by default. More...
 
kzString startupLocale
 Locale to use when launching the application. More...
 
kzUint glyphCacheWidth
 Width of the textures created for glyph caches. More...
 
kzUint glyphCacheHeight
 Height of the textures created for glyph caches. More...
 
KzaApplicationOnStartupFunction onStartup
 Function callback for initialization. More...
 
KzaApplicationOnShutdownFunction onShutdown
 Function callback for deinitialization. More...
 
KzaApplicationOnProjectLoadedFunction onProjectLoaded
 Function callback for initialization that is using the .KZB data. More...
 
KzaApplicationOnUpdateFunction onUpdate
 Function callback for updating logic. More...
 
KzaApplicationOnPreRenderFunction onPreRender
 Function callback for rendering. More...
 
KzaApplicationOnPostRenderFunction onPostRender
 Function callback for rendering. More...
 
KzaApplicationOnApplicationEventFunction onApplicationEvent
 Event callback for application state changes. More...
 
KzaApplicationOnPointerInputEventFunction onPointerInputEvent
 Event callback for pointing device (e.g. More...
 
KzaApplicationOnKeyInputEventFunction onKeyInputEvent
 Event callback for keyboard input events. More...
 
KzaApplicationOnWindowEventFunction onWindowEvent
 Event callback for window events. More...
 

Detailed Description

Configurable application properties.

Field Documentation

kzUint KzaApplicationProperties::memoryPoolCount

Number of memory pools to allocate in the pooled memory manager.

The default value is 1. This can be set to zero to disable the pooled memory manager.

kzUint KzaApplicationProperties::memoryPoolSize

Size of a single memory pool in bytes.

The total allocated memory for the pooled memory manager is therefore memoryPoolCount * memoryPoolSize bytes. The default value is 2 megabytes. Notice that Kanzi itself will use about 1.5 megabytes of this space, depending on KZU_ENGINE_DEFAULT_QUICK_MEMORY_SIZE, KZC_RENDERER_UNIFORM_CACHE_SIZE, KZC_RENDERER_PER_FRAME_MEMORY_MANAGER_SIZE, KZC_RENDERER_MAX_ZERO_FLOAT_ARRAY_SIZE defined in kzc_renderer.c, kzuCoreAssetDataSize defined in kzu_core_asset_data.c and several different structure sizes.

kzBool KzaApplicationProperties::useThreadedMemoryManager

If KZ_TRUE, the pooled memory manager is made thread-safe.

The default value is KZ_FALSE.

struct KzsWindowProperties KzaApplicationProperties::windowProperties

Configuration for the primary window of the application framework.

struct KzsSurfaceProperties KzaApplicationProperties::surfaceProperties

Properties for the surface of the primary window.

kzMutableString KzaApplicationProperties::binaryNameStorage

Dynamically allocated memory for the binary name.

KZ_NULL when statically allocated.

kzString KzaApplicationProperties::binaryName

Path to either the binary config file listing all .kzb files that are loaded to project, or a path to a single .kzb file.

The default value is KZ_NULL.

kzBool KzaApplicationProperties::gridEnabled

If KZ_TRUE, the grid is enabled by default in the preview system.

The default value is KZ_FALSE.

kzBool KzaApplicationProperties::debugObjectsEnabled

Are debug objects enabled by default in the preview system.

The default value is KZ_FALSE.

kzBool KzaApplicationProperties::freeCameraEnabled

Is free camera enabled by default in the preview system.

The default value is KZ_TRUE if kzaApplicationCreateForToolModule() is used, otherwise KZ_FALSE.

kzBool KzaApplicationProperties::pickingEnabled

Is picking enabled by default in the preview system.

The default value is KZ_TRUE if kzaApplicationCreateForToolModule() is used, otherwise KZ_FALSE.

kzBool KzaApplicationProperties::transformGizmoEnabled

Is transform gizmo enabled by default in the preview system.

The default value is KZ_TRUE if kzaApplicationCreateForToolModule() is used, otherwise KZ_FALSE.

kzBool KzaApplicationProperties::boundingBoxEnabled

Is bounding box enabled by default in the preview system.

The default value is KZ_FALSE.

kzBool KzaApplicationProperties::fpsInfoEnabled

Is FPS info enabled by default in the preview system.

The default value is KZ_FALSE.

kzBool KzaApplicationProperties::logVisualizationEnabled

If KZ_TRUE, the application log is drawn in the preview system.

The default value is KZ_FALSE.

kzBool KzaApplicationProperties::lightWeightInitializationEnabled

Is lightweight initialization enabled (no default shaders).

The default value is KZ_FALSE.

kzBool KzaApplicationProperties::overdrawVisualizationEnabled

Is overdraw visualization enabled.

The default value is KZ_FALSE.

kzBool KzaApplicationProperties::animationVisualizationEnabled

Is animation visualization enabled.

The default value is KZ_FALSE.

kzBool KzaApplicationProperties::functionCallProfilingEnabled

Is function call specific profiling enabled.

When KZ_TRUE, prints to the console a function call tree with cumulative times, occurring every 100th frame. Does not print anything when KzaApplicationProperties::animationVisualizationEnabled is KZ_TRUE.

kzBool KzaApplicationProperties::loadingTimeProfilingEnabled

Is loading time profiling enabled.

When KZ_TRUE, after the startup prints to the console a duration of loading times.

kzBool KzaApplicationProperties::previewSystemEnabled

Is the preview system enabled by default.

When KZ_FALSE, debug composer, profiling HUD, transform gizmo, preview camera and selection handling & rendering is disabled. The default value is KZ_TRUE if kzaApplicationCreateForToolModule() is used, otherwise KZ_FALSE.

kzBool KzaApplicationProperties::extensionOutputEnabled

Is the list of graphics related extensions printed when launching the application, useful for debugging which extensions are supported by platform.

The default value is KZ_FALSE.

struct KzaApplicationFPSConstraints KzaApplicationProperties::fpsConstraints

Timer controller for application.

kzUint KzaApplicationProperties::loadingThreadCount

Loader thread count for resources, default 0 (loads everything in main thread).

kzUint KzaApplicationProperties::loadingThreadsMemoryManagerSize

Memory manager size for loading threads, needs to be large enough as the loader thread's hold the loaded resources.

If specified 0 and loadingThreadCount is larger than 0, takes half of the pooled memory manager size.

kzUint KzaApplicationProperties::maxPendingResources

The maximum number of resources that can be processed by the loading threads at the same time.

The higher number can make the loading faster, but increases the peak memory usage during loading as more resources can be loaded to the memory before they are deployed to the GPU. If set to 0 (which is the default value), the value is set to the number of threads + 1.

kzBool KzaApplicationProperties::useMemoryMappedLoading

Use memory mapping when loading KZB files.

The default value is KZ_FALSE.

kzBool KzaApplicationProperties::useShaderCaching

Try to load shaders from cache and save compiled shaders to cache.

The default value is KZ_FALSE.

kzString KzaApplicationProperties::shaderCacheDirectory

Directory to use for shader-cache, path can be relative or absolute.

If not set working-directory will be used. The default value is KZ_NULL.

kzMutableString KzaApplicationProperties::shaderCacheDirectoryStorage

Dynamically allocated memory for the cache-directory.

KZ_NULL when statically allocated.

kzUint KzaApplicationProperties::defaultDisplayIndex

Index of the display that full screen windows will be created on by default.

kzString KzaApplicationProperties::startupLocale

Locale to use when launching the application.

kzUint KzaApplicationProperties::glyphCacheWidth

Width of the textures created for glyph caches.

kzUint KzaApplicationProperties::glyphCacheHeight

Height of the textures created for glyph caches.

KzaApplicationOnStartupFunction KzaApplicationProperties::onStartup

Function callback for initialization.

This function is called as soon as possible after the Application framework has been created and configured.

KzaApplicationOnShutdownFunction KzaApplicationProperties::onShutdown

Function callback for deinitialization.

This function is called when the application is shutting down and the KzaApplication object is still valid.

KzaApplicationOnProjectLoadedFunction KzaApplicationProperties::onProjectLoaded

Function callback for initialization that is using the .KZB data.

This function is called right after the .KZB binaries have been loaded.

KzaApplicationOnUpdateFunction KzaApplicationProperties::onUpdate

Function callback for updating logic.

This function is called for every frame.

Parameters
applicationThe application structure.
deltaTimeThe delta time passed to kzaApplicationUpdate(). By default this is the time elapsed since the previous frame in milliseconds.
KzaApplicationOnPreRenderFunction KzaApplicationProperties::onPreRender

Function callback for rendering.

This function is called for every frame before any other rendering function.

KzaApplicationOnPostRenderFunction KzaApplicationProperties::onPostRender

Function callback for rendering.

This function is called for every frame after the root layer has been rendered but before the preview system is rendered.

KzaApplicationOnApplicationEventFunction KzaApplicationProperties::onApplicationEvent

Event callback for application state changes.

KzaApplicationOnPointerInputEventFunction KzaApplicationProperties::onPointerInputEvent

Event callback for pointing device (e.g.

mouse or touch screen) input events.

KzaApplicationOnKeyInputEventFunction KzaApplicationProperties::onKeyInputEvent

Event callback for keyboard input events.

KzaApplicationOnWindowEventFunction KzaApplicationProperties::onWindowEvent

Event callback for window events.


The documentation for this struct was generated from the following file: